package com.comecrd.repository;

import com.comecrd.model.Comment;
import com.comecrd.model.dto.CommentDTO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface CommentMapper {
    
    // 插入评论记录
    int insert(Comment comment);
    
    // 根据打卡ID查找评论列表
    List<CommentDTO> selectByCheckInId(@Param("checkInId") Long checkInId, 
                                     @Param("offset") int offset, 
                                     @Param("limit") int limit);
    
    // 统计打卡记录的评论数
    Integer countByCheckInId(@Param("checkInId") Long checkInId);
    
    // 根据ID和用户ID删除评论
    int deleteByIdAndUserId(@Param("id") Long commentId, @Param("userId") Long userId);
    
    // 根据打卡ID删除所有评论（级联删除）
    int deleteByCheckInId(@Param("checkInId") Long checkInId);
}